In diesem Video beschäftigen wir uns mit grundlegenden Definitionen rund um das Thema Datenbanken. Wir klären, was ein Datenbanksystem überhaupt ist, aus welchen Bestandteilen es besteht und welche Begriffe und Konzepte man unbedingt kennen sollte, bevor man sich näher mit Datenmodellierung oder Datenbanktechnik befasst. Ein Datenbanksystem, abgekürzt DBS, ist ein elektronisches System zur Verwaltung von Daten. Seine Hauptaufgabe besteht darin, große Mengen an Informationen effizient, konsistent und dauerhaft zu speichern. Die Daten sollen widerspruchsfrei abgelegt werden, dauerhaft verfügbar bleiben (persistent) und es soll möglich sein, gezielt Teilmengen der Daten für Programme und Benutzer bereitzustellen. Ein solches System besteht aus zwei Hauptbestandteilen: der Verwaltungssoftware, dem sogenannten Datenbankmanagementsystem (DBMS), und der eigentlichen Datenbasis, also der Menge der zu verwaltenden Daten. Das DBMS fungiert als Vermittler zwischen der Datenbasis und den Benutzenden oder Programmen. Es sorgt dafür, dass Daten korrekt gespeichert, gelesen, verändert oder gelöscht werden – je nachdem, was gerade benötigt wird. Datenbanksysteme gibt es in unterschiedlichen Varianten. Die Struktur, in der die Daten organisiert sind, wird durch das Datenbankmodell bestimmt. Das bekannteste Modell ist das relationale Datenbanksystem, in dem Daten in Tabellen abgelegt sind. Diese Tabellenstruktur macht das relationale System besonders übersichtlich und leistungsfähig. Ein DBMS übernimmt zentrale Aufgaben: Es regelt die strukturierte Speicherung der Daten, kontrolliert sämtliche Lese- und Schreibzugriffe und stellt sicher, dass nur zulässige Operationen ausgeführt werden. Es legt außerdem das zugrundeliegende Datenmodell fest. Wenn das DBMS auf Tabellen basiert, spricht man von einem relationalen Datenbankmanagementsystem (RDBMS). Betrachtet man den internen Aufbau eines DBMS, erkennt man mehrere Schichten. Ganz oben steht eine Abfrage in der Sprache SQL (Structured Query Language). Diese Abfrage wird zunächst von einem Compiler oder Optimierer verarbeitet, der die effizienteste Ausführungsstrategie berechnet. Anschließend übernimmt der Executor, der die Strategie umsetzt. Das Zugriffssystem beinhaltet zwei wichtige Datenstrukturen: Tabellen, in denen Informationen in Zeilen (Tupel) und Spalten (Attribute) strukturiert sind, sowie Indizes, die schnelle Zugriffe ermöglichen. Diese Zugriffe erfolgen auf Seitenebene, wobei jeweils mehrere Daten gleichzeitig verarbeitet werden. Darunter folgt das Speichersystem, das die Daten im Hauptspeicher und auf der Festplatte verwaltet. Der Datenbankpuffer (DB-Puffer) im Arbeitsspeicher sorgt für schnellen Zugriff auf häufig genutzte Daten, während der Disk-Manager die eigentliche Kommunikation mit dem Speichermedium übernimmt. Der Transaktionsmanager stellt sicher, dass zusammengehörige Operationen, sogenannte Transaktionen, entweder vollständig ausgeführt oder rückgängig gemacht werden. Der Lockmanager verhindert gleichzeitig auftretende Datenkonflikte. Der Recoverymanager schließlich sorgt dafür, dass nach Fehlern wie einem Stromausfall das System in einen korrekten Zustand zurückversetzt werden kann. In relationalen Datenbanken werden Informationen in Tabellen gespeichert, die als Relationen bezeichnet werden. Jede Zeile einer Tabelle nennt man Tupel (entspricht einem Datensatz), und jede Spalte heißt Attribut, das eine Eigenschaft repräsentiert. Der Primärschlüssel identifiziert jeden Datensatz eindeutig, während der Fremdschlüssel Beziehungen zwischen Tabellen herstellt. Die Kardinalität beschreibt, wie viele Datensätze miteinander verbunden sind (z.B. eins-zu-eins, eins-zu-n oder n-zu-m). Der Wertebereich eines Attributs legt fest, welche Arten von Daten gespeichert werden dürfen, beispielsweise Zahlen, Texte oder Datumsangaben. Ein konkreter Wert in einem Feld, etwa ein Vorname wie „Anna“, wird Skalarwert genannt. Die Relationenalgebra ist eine formale Sprache zur Formulierung von Abfragen auf relationalen Schemata. Sie umfasst grundlegende Operationen wie Projektion (Auswahl bestimmter Spalten), Selektion (Auswahl bestimmter Zeilen), Kreuzprodukt (Kombination aller möglichen Zeilenkombinationen zweier Tabellen), Vereinigung, Differenz (Vergleich von Tabellen) und Umbenennung (Änderung von Namen von Tabellen oder Attributen). Datenmodellierung beschreibt die Objekte und Beziehungen eines realen Bereichs formal. Das Ziel ist, Objekte, ihre Attribute und deren Zusammenhänge eindeutig zu spezifizieren und in einem Modell festzuhalten, um Klarheit darüber zu erhalten, welche Daten verwaltet werden müssen. Ein solches Modell ist langlebiger als Programme, da Daten oft auch nach Veraltung der Software genutzt werden. Deshalb sollten Daten universell gestaltet und für viele Anwendungen nutzbar sein. Man sagt auch: „Daten sind stabil, Funktionen sind es nicht.“ Der Modellierungsprozess umfasst mehrere Phasen. Die erste Phase ist der fachliche Entwurf, in dem Objekte, Eigenschaften und Beziehungen aus der realen Welt erfasst und in einem konzeptuellen Schema dargestellt werden. Dieses Schema entspricht dem fachlichen Modell einer objektorientierten Analyse. Die zweite Phase überführt das konzeptuelle in ein logisches Modell, in dem technische Details festgelegt werden, etwa Datentypen und Speicherstrukturen. Dieses Modell muss den Regeln des gewählten Datenbankmodells entsprechen und wird auch als Design-Phase bezeichnet. In der dritten Phase wird das logische Modell konkret umgesetzt, beispielsweise in SQL formuliert, um ein physisches Datenbankschema zu erstellen. Dieses Schema bildet die technische Grundlage für die eigentliche Datenbankerstellung und -befüllung. Der vollständige Modellierungsprozess umfasst nicht nur die klassischen Phasen, sondern auch ergänzende Schritte wie Zielsystemauswahl, Prototyperstellung, konkrete Implementierung und Aufbau eines Data Dictionarys. Dabei wird systematisch auf vorherigen Schritten aufgebaut, sodass eine saubere, dokumentierte, testbare und technisch umsetzbare Datenstruktur entsteht, die schließlich als Datenbank genutzt werden kann. Die Structured Query Language (SQL) ist zentral für relationale Datenbanken. Sie erlaubt Definition, Bearbeitung und gezielte Abfragen von Datenstrukturen. SQL basiert auf der Relationenalgebra, hat eine einfache, englisch angelehnte Syntax und ist international standardisiert. Trotz kleinerer Unterschiede in Dialekten ist das Ziel die möglichst einheitliche Nutzung auf verschiedenen Datenbanksystemen. Die vier Grundoperationen jeder Datenbank werden als CRUD zusammengefasst: Create (Erstellen neuer Daten), Read (Auslesen von Daten), Update (Ändern von Daten) und Delete (Löschen von Daten). Diese Operationen bilden die Basis praktisch aller Anwendungen und werden oft über eine sogenannte Persistenzschicht realisiert. Die Umsetzung der CRUD-Operationen erfolgt typischerweise in einer Softwarearchitektur. Jede Operation beginnt an der Benutzeroberfläche, durchläuft die logischen Ebenen der Anwendung und mündet schließlich in der Persistenzschicht, in der der eigentliche Zugriff auf die Datenbank stattfindet. Diese grundlegenden Operationen bilden somit das Fundament jeder komplexen Datenverarbeitung.